/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package controller;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.event.ActionEvent;
import model.Notaria;
import model.dao.Impl.NotariaDAOImpl;
import model.dao.NotariaDAO;

/**
 *
 * @author JuanFernando
 */
@ManagedBean
@SessionScoped
public class NotariaBean implements Serializable {

    //Variable lista que es una lista de tipo TCargos segun el modelo
    //Variable objSelect que es un objeto del tipo TCargos que recibira el objeto seleccionado en la vista
    private List<Notaria> lista;
    private Notaria objSeleccionado = new Notaria();

    /**
     * Creates a new instance of NotariaBean
     */
    public NotariaBean() {
        this.lista = new ArrayList<Notaria>();
        this.objSeleccionado = this.getLista().get(0);
    }

    public List<Notaria> getLista() {
        NotariaDAO consulta = new NotariaDAOImpl();

        String sql;
        sql = "from Notaria ";
        
        return consulta.findAll(sql);
    }

    public void setLista(List<Notaria> lista) {
        this.lista = lista;
    }

    public Notaria getObjSeleccionado() {
        return objSeleccionado;
    }

    public void setObjSeleccionado(Notaria objSeleccionado) {
        this.objSeleccionado = objSeleccionado;
    }

    /**
     * insert() * inserta un nuevo registro en la base de datos crea un nuevo
     * objeto de tipo DAOImpl asigna id en cero para no enviar nulos a la base
     * de datos asigna el usuario que esta trabajando en sesion
     *
     * @author jfgomez
     * @param actionEvent
     */
    public void insert(ActionEvent actionEvent) {

        NotariaDAO consulta = new NotariaDAOImpl();

        this.objSeleccionado.setId(0);
        consulta.save(this.objSeleccionado);
    }

    /**
     * update() * actualiza el registtro seleccionado en la base de datos crea
     * un nuevo objeto de tipo DAOImpl asigna el usuario que esta trabajando en
     * sesion
     *
     * @author jfgomez
     * @param actionEvent
     */
    public void update(ActionEvent actionEvent) {
        NotariaDAO consulta = new NotariaDAOImpl();
        consulta.update(this.objSeleccionado);
    }
    
         
    private String getRandomImageName() {
        int i = (int) (Math.random() * 10000000);
         
        return String.valueOf(i);
    }
 
}
